package com.voodoo.lib_http;

import org.json.JSONObject;

/**
 * Author: voodoo
 * CreateDate: 2021/05/29
 * Description: API接口回调监听
 */
public interface ApiListener {

    /**
     * 开始请求
     *
     * @param requestUrl 请求地址Url
     * @param requestId  请求Id
     */
    void onRequestStart(String requestUrl, int requestId);

    /**
     * 请求完成
     *
     * @param requestUrl 请求地址Url
     * @param requestId  请求Id
     */
    void onRequestComplete(String requestUrl, int requestId);

    /**
     * 请求成功
     *
     * @param requestUrl  请求地址Url
     * @param requestJson 回传JSON数据，一般会传回来的都是JSON数据
     * @param requestId   请求id
     */
    void onSuccess(String requestUrl, JSONObject requestJson, int requestId);

    /**
     * 请求失败
     *
     * @param requestUrl 请求地址Url
     * @param errorMsg   失败提示信息
     * @param resultData 返回的原始数据，方便失败时后续的操作
     * @param requestId  请求id
     */
    void onError(String requestUrl, String errorMsg, String resultData, int requestId);

}
